e0a6d43785141f1b3c8ac2cce762a2a598459cd1,portal-impl/src/com/liferay/portal/repository/cmis/CMISRepository.java,CMISRepository,getFoldersAndFileEntries,#number#String[]#number#number#OrderByComparator#,698
Before Change
}
}
if (obc != null) {
if (obc instanceof RepositoryModelCreateDateComparator ||
obc instanceof RepositoryModelModifiedDateComparator ||
obc instanceof RepositoryModelSizeComparator) {
foldersAndFileEntries = ListUtil.sort(
foldersAndFileEntries, obc);
}
else if (obc instanceof RepositoryModelNameComparator) {
if (!obc.isAscending()) {
foldersAndFileEntries = ListUtil.sort(
foldersAndFileEntries, obc);
}
}
}
if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS)) {
return foldersAndFileEntries;
}
else {
return ListUtil.subList(foldersAndFileEntries, start, end);
}
}
After Change
public List<Object> getFoldersAndFileEntries(
long folderId, String[] mimeTypes, int start, int end,
OrderByComparator obc)
throws SystemException {
boolean useCache = (mimeTypes == null);
Map<Long, List<Object>> foldersAndFileEntriesCache =
_foldersAndFileEntriesCache.get();
List<Object> foldersAndFileEntries =
foldersAndFileEntriesCache.get(folderId);
if (null == foldersAndFileEntries || !useCache) {
foldersAndFileEntries = new ArrayList<Object>(getFolders(folderId));
foldersAndFileEntries.addAll(
getFileEntries(
folderId, mimeTypes,
QueryUtil.ALL_POS, QueryUtil.ALL_POS, null));
if (useCache) {
foldersAndFileEntriesCache.put(folderId, foldersAndFileEntries);
}
}
return sortAndPage(foldersAndFileEntries, start, end, obc);
}
@Override